<?php
/**
 * 淘宝客商品表模型
 */
namespace Common\Model;
use Think\Model;
class TaobaoGoodsModel extends Model {
    //自动验证
	private $table = 'cp_taobao_goods';
    protected $_validate = array(
        array('goods_name', 'require', '商品名称不能为空.^_^', 1 ),
        array('goods_desc', 'require', '商品标语不能为空.^_^', 1 ),
        array('sale_price', 'require', '商品售价不能为空.^_^', 1 ),
        array('market_price', 'require', '商品原价不能为空.^_^', 1 ),
        array('short_link', 'require', '推广链接不能为空.^_^', 1 ),
        array('pic', 'require', '商品图片不能为空.^_^', 1 ),
    );
    //添加或编辑操作
    public function send_addData(){
        if (!$this->create()) return false;
        $id = I('post.id',0,'intval');//商品ID

        //商品数据
        $data = array(
            'goods_name' => trim(I('post.goods_name')),
            'goods_desc' => trim(I('post.goods_desc')),
            'sale_price' => I('post.sale_price'),
            'market_price'=> I('post.market_price'),
            'short_link'  => trim(I('post.short_link')),
            'long_link'   => trim(I('post.long_link','')),
            'colors'      => trim(I('post.colors')),
            'brand'       => trim(I('post.brand')),
            'pic'         => trim(I('post.pic')),
            'commission'  => trim(I('post.commission')),
            'ratio'       => trim(I('post.ratio')),
            'status'     => I('post.status',1,'intval'),
        );
        if ($id) {
            //编辑操作
            $this->where(array('id'=>$id))->save($data);
            return true;
        } else {
            //添加操作
			$data['create_at'] = date("Y-m-d H:i:s");
            if ($id = $this->add($data)) {
                 return true;
            } else {
                $this->error = '商品操作失败.ㄒoㄒ~';
                return false;
            }
        }
    }

    //查询一条数据
    public function getFindData($id){
        return $this->where(array('id'=>$id))->find();
    }

    //删除数据
    public function execDelData($id){
        return $this->where(array('id'=>$id))->delete();
    }

    /**
     * 查询所有数据并且显示分页
     * @param int $limit 每页显示多少条数据 默认显示10条
     * @return array
     */
    public function getListData($limit=10){
        $count = $this->count();   // 查询满足要求的总记录数
        $Page = new \Think\Page($count,$limit); // 实例化分页类 传入总记录数和每页显示的记录数
        //设置分页显示
        $Page->setConfig('prev','上一页');
        $Page->setConfig('next','下一页');
        $show = $Page->show(); // 分页显示输出
        // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
        $list = $this->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();
        $result = array(
            'list' => $list,
            'page' => $show
        );
        return $result;
    }
	/**
     * 查询所有数据并且显示分页
     * @param int $limit 每页显示多少条数据 默认显示10条
     * @param string|array $where 查询条件
     * @param string  $order  排序条件
     * @param Array  $setConfig  设置分页样式
     * @return array
     */
    public function getComplexListData($limit=10,$where='',$order='',$setConfig = array()){
        if (empty($order)) {
            $order = "id desc";
        }
        $count = $this->where($where)->count();   // 查询满足要求的总记录数
        $Page = new \Think\Page($count,$limit); // 实例化分页类 传入总记录数和每页显示的记录数
        //设置分页显示
        if (!$setConfig) {
            $Page->setConfig('prev','上一页');
            $Page->setConfig('next','下一页');
        } else {
            $Page->setConfig('prev',$setConfig['prev']);
            $Page->setConfig('next',$setConfig['next']);
        }
        $show = $Page->show(); // 分页显示输出
        // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
        $list = $this->where($where)->order($order)->limit($Page->firstRow.','.$Page->listRows)->select();
        //查出分类
        $result = array(
            'list' => $result_list,
            'page' => $show,
            'count'=> $count
        );
        return $result;
    }
}